<?php

namespace App\CustHub\Vo;

use App\CustHub\Constants\UserMoneyLogTypeConstants;

class UserBalanceVo
{
    /**
     * 短链用户ID
     * @var mixed
     */
    protected mixed $uid;


    /**
     * 金额 正数增加 负数减少
     * @var float
     */
    protected float $money;

    /**
     * 业务类型
     * @var int
     */
    protected int $businessType;

    /**
     * 订单ID
     * @var ?int
     */
    protected ?int $order_id = null;

    /**
     * 备注
     * @var string
     */
    protected string $remark = '';

    /**
     * @param mixed $uid
     * @param float $money
     * @param int $businessType
     * @param int|null $order_id
     * @param string $remark
     */
    public function __construct(mixed $uid, float $money, int $businessType, ?int $order_id, string $remark = '')
    {
        $this->uid = $uid;
        $this->money = $money;
        $this->businessType = $businessType;
        $this->order_id = $order_id;
        $this->remark = $remark;
    }

    public function getUid(): mixed
    {
        return $this->uid;
    }

    public function setUid(mixed $uid): void
    {
        $this->uid = $uid;
    }

    public function getMoney(): float
    {
        return $this->money;
    }

    public function setMoney(float $money): void
    {
        $this->money = $money;
    }

    public function getBusinessType(): int
    {
        return $this->businessType;
    }

    public function setBusinessType(int $businessType): void
    {
        $this->businessType = $businessType;
    }

    public function getOrderId(): ?int
    {
        return $this->order_id;
    }

    public function setOrderId(?int $order_id): void
    {
        $this->order_id = $order_id;
    }

    public function getRemark(): string
    {
        return $this->remark;
    }

    public function setRemark(string $remark): void
    {
        $this->remark = $remark;
    }
}